A general purpose processor is disposed in a system and the processor executes many processes. For specific processes that each demand high processing performance and whose processing contents are each predetermined, such as a moving image process, a sound process, a 3-D graphic process, and a signal process, a process-dedicated circuit referred to as “hardware engine” or “accelerator” is disposed in the system and the accelerator is caused to execute the specific processes.
In general, a processor has high versatility and, in contrast, is inferior to an accelerator in the power consumption and the processing performance. Therefore, effective use of the accelerator can realize high performance and low power consumption. Judging from only a single process, execution thereof by the accelerator is superior in the power consumption and the performance when the single process is executable by the accelerator.
It is assumed that the accelerator can execute many processes while the processor alone can execute only few processes. In this case, when the accelerator executes all the processes executable by the accelerator, the accelerator suffers heavy congestion and the execution of processes by the accelerator is delayed. As a result, the processing efficiency of the whole system may be degraded. Therefore, an approach is disclosed of executing a portion of a process using the processor even when the process is executable by the accelerator (see, e.g., Japanese Laid-Open Patent Publication Nos. 2006-302168 and 2010-72731).
According to the technique in Japanese Laid-Open Patent Publication No. 2006-302168, when execution of a process is newly requested to the accelerator, the ending time of the execution of the process to be requested is estimated from an estimated processing time period of the process currently waiting for execution by the accelerator, and an estimated processing time period and the starting time for the accelerator of the process to be requested; and when the execution of the process by the accelerator cannot come to an end by an expected time, the process is executed by the processor.
According to the technique in Japanese Laid-Open Patent Publication No. 2010-72731, an index value of the processing time period is set in each of the processes executable by the accelerator; the processes are executed by the processor; and the processes are executed by the accelerator when the index values thereof are not satisfied such as a case where the execution of the processes by the processor does not come to an end within the set processing time period.
From the viewpoint of the processing time period, the efficiency may be excellent when the processor executes some of the processes during the congestion of the accelerator. However, from the viewpoint of the power consumption, the power consumption is lower when the accelerator executes all the processes executable by the accelerator.
Therefore, it is necessary to determine an optimal operating point taking into consideration the trade off between the necessary processing time period (performance) and the power consumption. However, this cannot conventionally be executed.
For example, for a mobile terminal that operates by a battery such as a mobile telephone terminal, the optimal operating point continuously varies according to the situation such as the remaining power amount of the battery, etc. Assuming the use in the mobile terminal, when the remaining power amount of the battery is high, a process may be executed that increases the power consumption while prioritizing performance. However, when the remaining power amount of the battery of the mobile terminal is low, the power consumption is desired to be suppressed as low as possible to maintain operation by the battery until the battery is charged.
According to the technique in Japanese Laid-Open Patent Publication No. 2006-302168, only the performance can be used as the index and, according to the technique in Japanese Laid-Open Patent Publication No. 2010-72731, a fixed index is employed as the precondition. Therefore, these techniques are not applicable to an apparatus whose optimal operating point dynamically varies according to the remaining power amount of the battery like a mobile terminal.